package com.wang.boot1;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;

import java.io.File;
import java.util.Collections;
import java.util.Properties;

public class Gen {
    public static void main(String[] args) {
//        新版生成器表明错误情况不会报错
//        需要生成的表
//        String[] tableNames = new String[]{"user_record",""};
        String[] tableNames = new String[]{"user_record"};
        String separator = File.separator;
//        获取全部项目环境信息
        Properties properties = System.getProperties();
//        当前项目路径
        System.getProperty("user.dir");
        FastAutoGenerator.create("jdbc:mysql://39.100.37.94:3306/wanghaoran?useSSL=false&serverTimezone=UTC", "root", "kedi0011")
                .globalConfig(builder -> {
                    builder.author("wang") // 设置作者
//                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .disableOpenDir()// 生成完不打开目录
                            .outputDir(System.getProperty("user.dir") + separator + "src" + separator + "main" + separator + "java" + separator); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder
                            .parent("com.wang.boot1") // 设置父包名
//                            .moduleName("bean") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + separator + "src" + separator + "main" + separator + "resources" + separator + "mapper" + separator)); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude(tableNames) // 设置需要生成的表名
                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })

                // .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板，默认的是Velocity引擎模板
                .execute();
        System.out.println("✅ ✅ ✅ ✅ ✅");


    }
}
